关于Integer.MAX

您所在的位置:网站首页 int 类型最小值 关于Integer.MAX

关于Integer.MAX

2023-10-13 16:56| 来源: 网络整理| 查看: 265

1、负数二进制表示

由于计算机中数据都以二进制表示,而负数的二级制是根据正数二进制取补码(补码就是先取反码,然后加1)得到,如:

一个int 类型的数值为5,其长度为32位,二进制表示为

00000000 00000000 00000000 00000101

-5是根据5的二进制表示每一位先取反码(0变1,1变0)得到

11111111 11111111 11111111 11111010

再对反码加1,得到-5的二进制表示

11111111 11111111 11111111 11111011 2、Integer.MAX_VALUE+1 = Integer.MIN_VALUE与Integer.MIN_VALUE-1 = Integer.MAX_VALUE Integer.MAX_VALUE: 01111111 11111111 11111111 11111111 1: 00000000 00000000 00000000 00000001 相加: 10000000 00000000 00000000 00000000 Integer.MIN_VALUE: 10000000 00000000 00000000 00000000

可以看出Integer.MAX_VALUE+1结果等于 Integer.MIN_VALUE

Integer.MIN_VALUE: 10000000 00000000 00000000 00000000 -1: 11111111 11111111 11111111 11111111 相加: 1 01111111 11111111 11111111 11111111 Integer.MAX_VALUE: 01111111 11111111 11111111 11111111

可以看出Integer.MIN_VALUE+1结果将多余位舍去即等于 Integer.MAX_VALUE

3、参考

https://blog.csdn.net/han1558249222/article/details/55218193

https://blog.csdn.net/weixin_30374009/article/details/95705335



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3